import os
from PIL import Image

def is_valid_image_file(file_path, print_debug_log = False):
    try:
        # 尝试打开图像文件
        with Image.open(file_path) as img:
            # 尝试加载图像数据
            # img.verify()  # 只验证文件是否正确，但不加载整个图像到内存

            # 或者可以加载图像并转换为RGB模式以确保图像完整
            img.convert('RGB')

        if print_debug_log: print('File is a valid JPEG file (', file_path, '), Size = ', os.path.getsize(file_path))
        return True
    # except IOError:
    except OSError:
        # 如果发生IOError，则说明文件可能已损坏或不是有效的JPEG文件
        if print_debug_log: print('File is NOT a valid JPEG file yet (', file_path, ')!!! Size = ', os.path.getsize(file_path))
        return False
